package com.EJ.ejcompanyweb.updata;

import android.content.Context;
import android.util.Log;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;

import okhttp3.internal.Version;

public class PullParserHelper {
    private String TAG=this.getClass().getSimpleName();
    //网络解析  InputStream
    public  UpdataMessage startParser(InputStream in) throws IOException, XmlPullParserException {
     if (in==null){
         return null;
     }
        String Content = null;

        UpdataMessage updata = null;
        //实例化一个pull解析工程
        XmlPullParserFactory parserFactory=XmlPullParserFactory.newInstance();
        //创建用于pull解析的解析器
        XmlPullParser parser=parserFactory.newPullParser();
        //设置解析输入流，和编码格式
        parser.setInput(in,"utf-8");
        //XmlPullParser.START_DOCUMENT，文档开始
        //XmlPullParser.END_DOCUMENT 文档结束
        //parser.next() 获取下一个解析事件
        //XmlPullParser.START_TAG 标签开始
        //parser.getName() 返回当前元素名
        //parser.getAttributeValue(0)
        for (int eventType=XmlPullParser.START_DOCUMENT;
             eventType!=XmlPullParser.END_DOCUMENT;eventType=parser.next())
            if (eventType == XmlPullParser.START_TAG) {
                String tagName = parser.getName();// 获取标签名称
                if ("Version".equals(tagName)) {
                    //parser.getAttributeValue(0),通过id来拿到对应id上的value值
                    //拿到对应key上的  apk下载地址
                    String apkUrl = parser.getAttributeValue(null, "apkUrl");
                    //拿到对应标签上的  更新标题
                    String updateTitle = parser.getAttributeValue(null, "updateTitle");
                    // 更新具体内容
                    String updateContent = parser.getAttributeValue(null, "updateContent");
                    // 更新具体内容
                    String serverVersionName = parser.getAttributeValue(null, "serverVersionName");
                    String ServerVersionCode1 = parser.getAttributeValue(null, "serverVersionCode");
                    Log.e(TAG, ServerVersionCode1 );
                    int ServerVersionCode =  Integer.parseInt(ServerVersionCode1);
                    Log.e(TAG, ServerVersionCode + "");

                    String [] temp=updateContent.split("//");
                    for (String s:temp){
                        if (Content==null){
                            Content=s.concat("\n");
                        }else {
                            Content=Content.concat(s)+"\n";
                        }

                    }

                    updata = new UpdataMessage(apkUrl, updateTitle, Content, serverVersionName);
                    updata.setServerVersionCode(ServerVersionCode);

                }
            }
        return updata;
    }

}
